package com.xixi.core.rpc.fault.retry;

import com.xixi.core.rpc.spi.SpiLoader;

/**
 * @author: zxh
 * @date: 2024/8/27 15:44
 * @description: 重试策略工厂
 */
public class RetryStrategyFactory {

	static {
		SpiLoader.load(RetryStrategy.class);
	}

	// 默认重试器
	private static final RetryStrategy DEFAULT_RETRY_STRATEGY = new NoRetryStrategy();

	/**
	 * 获取实例
	 * @author zxh
	 * @param key 重试策略key
	 * @return 返回重试策略实例
	 */
	public static RetryStrategy getInstance(String key) {
		return SpiLoader.getInstance(RetryStrategy.class, key);
	}
}
